import PrimeVue from "primevue/config";
// 使用Aura主题
// import Aura from "@primevue/themes/aura";
import Lara from "@primevue/themes/lara";
// https://github.com/primefaces/primevue-tailwind/releases
// import Aura from "@/presets/aura"; //import preset
// import Lara from "@/presets/lara"; //import preset
// PrimeVue本身仅支持英语，这里我们使用PrimeVue社区语言来进行国际化配置
import zhCN from "primelocale/zh-CN.json";
import en from "primelocale/en.json";

import appConfig from "./app.config";

// 获取当前语言，默认中文
const defaultLocale = appConfig.defaultLang();

// 定义PrimeVue支持的语言包
export const primeVueLocalesMessages: any = {
  ...zhCN, // 简体中文
  ...en, // 英文
  // "zh-CN": zhCN["zh-CN"], // 简体中文
  // en: en["en"], // 英文
};

// 获取语言包
export const getLocaleMessages = (locale: string): any => {
  return (
    primeVueLocalesMessages[locale] || primeVueLocalesMessages[defaultLocale]
  );
};

// 定义PrimeVue预设配置
export const primeVuePresetConfig = {
  // 主题
  theme: {
    preset: Lara,
  },
  // unstyled: true, // 无样式
  // pt: Aura, // 主题
  // 语言消息
  locale: getLocaleMessages(defaultLocale),
};

// 注册PrimeVue方法
export const setupPrimeVue = (app: any) => {
  app.use(PrimeVue, primeVuePresetConfig);
};
